#include <iostream>

using namespace std;

unsigned long left(unsigned long num, unsigned ct);
char * left(const char * str, int n = 1); 

int main(void)
{
	char * trip = "hawaii!!";
	unsigned long n = 12345678;
	int i;
	char * temp;
	
	for(int i=1;i< 10;i++){
		cout << left(n, i) << endl;
		temp = left(trip, i);
		cout << temp << endl;
		delete [] temp;//TODO
	}
	
	return 0;
}

unsigned long left(unsigned long num, unsigned ct)
{
	unsigned digits = 1;
	unsigned long n = num;
	if(ct == 0 || num == 0){
		return 0;//TODO
	}
	while(n /= 10){
		digits++;//TODO
	}
	if(digits > ct){
		ct = digits - ct;
		while(ct--){
			num /= 10;//TODO
		}//TODO
		return num;
	}
	else
		return num;
}

char * left(const char * str, int n)
{
	if(n < 0){
		n = 0;//TODO
	}
	char * p = new char[n + 1];
	int i;
	for(int i=0;i< n && str[i];i++){
		p[i] = str[i];//TODO
	}
	while(i <= n)
	{
		p[i++] = '\0';
	}
	return p;
}
